package condominio.negocio;

import java.util.Collection;

import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Cuota;
import condominio.modelo.Residente;
import condominio.DAO.ResidenteDAO;
import condominio.DAO.cuotaDAO;

public class GestionCuotas {
	
	public Cuota insertar(int anno, int mes, int Vivienda,double importe, java.sql.Date fechaVencimiento,
			java.sql.Date fechaPago,int tipoPago, double importeCancelado)
			throws DAOExcepcion {
		
		cuotaDAO daoCuo = new cuotaDAO();

		Cuota cu = new Cuota();
		cu.setanno(anno);
		cu.setMes(mes);	
		cu.setVivienda(Vivienda);
		cu.setImporte(importe);
		cu.setFechaVencimiento(fechaVencimiento);
		cu.setFechaPago(fechaPago);
		cu.setTipoPago(tipoPago);
		cu.setImporteCancelado(importeCancelado);
		
		
	return daoCuo.insertar(cu);
	}
	
	
	
	
	

	
	
	public Collection<Cuota> BuscarCoincidencia(int ano,int mes,int coVivienda) throws DAOExcepcion {
		cuotaDAO daoCuo = new cuotaDAO();

		return daoCuo.BuscarCoincidencia(ano, mes,coVivienda);
	}
	
	
public int PagarCuota(java.sql.Date fechaPago,int tipoPago,double importeCancelado,int anno, int mes, int Vivienda)
		throws DAOExcepcion{
		
		cuotaDAO daoCuo = new cuotaDAO();
		
		
		Cuota cuo = new Cuota();
		
		cuo.setFechaPago(fechaPago);
		cuo.setTipoPago(tipoPago);
		cuo.setImporteCancelado(importeCancelado);
		cuo.setanno(anno);
		cuo.setMes(mes);	
		cuo.setVivienda(Vivienda);
		
		
		return daoCuo.PagarCuota(cuo);
	}

public int CancelarCuota(java.sql.Date fechaPago,int tipoPago,double importeCancelado,int anno, int mes)
		throws DAOExcepcion{
		
		cuotaDAO daoCuo = new cuotaDAO();
		
		
		Cuota cuo = new Cuota();
		
		cuo.setFechaPago(fechaPago);
		cuo.setTipoPago(tipoPago);
		cuo.setImporteCancelado(importeCancelado);
		cuo.setanno(anno);
		cuo.setMes(mes);	
		
		
		return daoCuo.CancelarCuota(cuo);
	}


public Collection<Cuota> listarCuotasPendientes(int Vivienda) throws DAOExcepcion {
	cuotaDAO daoCuo = new cuotaDAO();

	return daoCuo.listarCuotasPendientes(Vivienda);
}

public Collection<Cuota> ListarCuota( )
		throws DAOExcepcion {
	cuotaDAO daoCU = new cuotaDAO();
	return daoCU.listarCuota();

}

public Collection<Cuota> BuscarCuotas(String residente)
		throws DAOExcepcion {
	cuotaDAO daoCU = new cuotaDAO();
	return daoCU.BuscarCuotas(residente);

}








public Cuota cuotaXperiodo(int ano, int mes)throws DAOExcepcion  {
	cuotaDAO daoCU=new cuotaDAO();
	return daoCU.cuotaXperiodo(ano,mes);
}





}
